package com.logistics.system.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.logistics.common.core.annotation.Excel;
import com.logistics.common.core.web.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 运单对象 waybills
 * 
 * @author logistics
 * @date 2024-06-23
 */
public class Waybills extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 运单id */
    private Long waybillId;

    /** 计划id */
    @Excel(name = "计划id")
    private Long planId;

    /** 运单号 */
    @Excel(name = "运单号")
    private String waybillNumber;

    /** 运单状态 */
    @Excel(name = "运单状态")
    private String waybillStatus;

    /** 司机姓名 */
    @Excel(name = "司机姓名")
    private String driverName;

    /** 司机联系方式 */
    @Excel(name = "司机联系方式")
    private String driverContact;

    /** 发货人 */
    @Excel(name = "发货人")
    private String shipper;

    /** 发货地址 */
    @Excel(name = "发货地址")
    private String shipperAddress;

    /** 收货人 */
    @Excel(name = "收货人")
    private String consignee;

    /** 收货地址 */
    @Excel(name = "收货地址")
    private String consigneeAddress;

    /** 预计开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "预计开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date transportStartTime;

    /** 预计送达时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "预计送达时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date transportEndTime;

    /** 计划运输量 */
    @Excel(name = "计划运输量")
    private BigDecimal planVolume;

    /** 实际到达量 */
    @Excel(name = "实际到达量")
    private BigDecimal actualVolume;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String createdBy;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private Date createdTime;

    /** $column.columnComment */
    private Integer delFlag;

    public void setWaybillId(Long waybillId) 
    {
        this.waybillId = waybillId;
    }

    public Long getWaybillId() 
    {
        return waybillId;
    }
    public void setPlanId(Long planId) 
    {
        this.planId = planId;
    }

    public Long getPlanId() 
    {
        return planId;
    }
    public void setWaybillNumber(String waybillNumber) 
    {
        this.waybillNumber = waybillNumber;
    }

    public String getWaybillNumber() 
    {
        return waybillNumber;
    }
    public void setWaybillStatus(String waybillStatus) 
    {
        this.waybillStatus = waybillStatus;
    }

    public String getWaybillStatus() 
    {
        return waybillStatus;
    }
    public void setDriverName(String driverName) 
    {
        this.driverName = driverName;
    }

    public String getDriverName() 
    {
        return driverName;
    }
    public void setDriverContact(String driverContact) 
    {
        this.driverContact = driverContact;
    }

    public String getDriverContact() 
    {
        return driverContact;
    }
    public void setShipper(String shipper) 
    {
        this.shipper = shipper;
    }

    public String getShipper() 
    {
        return shipper;
    }
    public void setShipperAddress(String shipperAddress) 
    {
        this.shipperAddress = shipperAddress;
    }

    public String getShipperAddress() 
    {
        return shipperAddress;
    }
    public void setConsignee(String consignee) 
    {
        this.consignee = consignee;
    }

    public String getConsignee() 
    {
        return consignee;
    }
    public void setConsigneeAddress(String consigneeAddress) 
    {
        this.consigneeAddress = consigneeAddress;
    }

    public String getConsigneeAddress() 
    {
        return consigneeAddress;
    }
    public void setTransportStartTime(Date transportStartTime) 
    {
        this.transportStartTime = transportStartTime;
    }

    public Date getTransportStartTime() 
    {
        return transportStartTime;
    }
    public void setTransportEndTime(Date transportEndTime) 
    {
        this.transportEndTime = transportEndTime;
    }

    public Date getTransportEndTime() 
    {
        return transportEndTime;
    }
    public void setPlanVolume(BigDecimal planVolume) 
    {
        this.planVolume = planVolume;
    }

    public BigDecimal getPlanVolume() 
    {
        return planVolume;
    }
    public void setActualVolume(BigDecimal actualVolume) 
    {
        this.actualVolume = actualVolume;
    }

    public BigDecimal getActualVolume() 
    {
        return actualVolume;
    }
    public void setCreatedBy(String createdBy) 
    {
        this.createdBy = createdBy;
    }

    public String getCreatedBy() 
    {
        return createdBy;
    }
    public void setCreatedTime(Date createdTime) 
    {
        this.createdTime = createdTime;
    }

    public Date getCreatedTime() 
    {
        return createdTime;
    }
    public void setDelFlag(Integer delFlag) 
    {
        this.delFlag = delFlag;
    }

    public Integer getDelFlag() 
    {
        return delFlag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("waybillId", getWaybillId())
            .append("planId", getPlanId())
            .append("waybillNumber", getWaybillNumber())
            .append("waybillStatus", getWaybillStatus())
            .append("driverName", getDriverName())
            .append("driverContact", getDriverContact())
            .append("shipper", getShipper())
            .append("shipperAddress", getShipperAddress())
            .append("consignee", getConsignee())
            .append("consigneeAddress", getConsigneeAddress())
            .append("transportStartTime", getTransportStartTime())
            .append("transportEndTime", getTransportEndTime())
            .append("planVolume", getPlanVolume())
            .append("actualVolume", getActualVolume())
            .append("createdBy", getCreatedBy())
            .append("createdTime", getCreatedTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("delFlag", getDelFlag())
            .toString();
    }
}
